home *** CD-ROM | disk | FTP | other *** search
- from test_support import verbose
-
- class XReader:
- def __init__(self):
- self.count = 5
-
- def readlines(self, sizehint = None):
- self.count = self.count - 1
- return map(lambda x: "%d\n" % x, range(self.count))
-
- class Null: pass
-
- import xreadlines
-
-
- lineno = 0
-
- try:
- xreadlines.xreadlines(Null())[0]
- except AttributeError, detail:
- print "AttributeError (expected)"
- else:
- print "Did not throw attribute error"
-
- try:
- xreadlines.xreadlines(XReader)[0]
- except TypeError, detail:
- print "TypeError (expected)"
- else:
- print "Did not throw type error"
-
- try:
- xreadlines.xreadlines(XReader())[1]
- except RuntimeError, detail:
- print "RuntimeError (expected):", detail
- else:
- print "Did not throw runtime error"
-
- xresult = ['0\n', '1\n', '2\n', '3\n', '0\n', '1\n', '2\n', '0\n', '1\n', '0\n']
- for line in xreadlines.xreadlines(XReader()):
- if line != xresult[lineno]:
- print "line %d differs" % lineno
- lineno += 1
-